// 店铺相关类型定义

export interface ShopVO {
  id: number
  shopName: string
  shopCode: string
  shopType: number
  shopTypeName: string
  communityId: number
  communityName: string
  buildingId?: number
  buildingName?: string
  unitId?: number
  unitName?: string
  roomNumber?: string
  floorNumber?: number
  area?: number
  rentPrice?: number
  contactPerson?: string
  contactPhone?: string
  businessLicense?: string
  status: number
  statusName: string
  remark?: string
  createTime: string
  updateTime: string
  createBy?: number
  updateBy?: number
  imageInfo?: string // 店铺图片URL列表（JSON字符串格式）
  imageInfoList?: ImageInfo[]
  imageUrls?: string[]
  firstImageUrl?: string
  imageCount?: number
}


export interface ShopOwnerVO {
  id: number
  shopId: number
  shopName: string
  ownerName: string
  ownerType: number
  ownerTypeName: string
  idCard: string
  phone: string
  email?: string
  address?: string
  emergencyContact?: string
  emergencyPhone?: string
  startDate: string
  endDate?: string
  deposit: number
  status: number
  statusName: string
  remark?: string
  createTime: string
  updateTime: string
}

export interface ShopRentRecordVO {
  id: number
  shopId: number
  shopName: string
  ownerId: number
  ownerName: string
  rentAmount: number
  rentDate: string
  dueDate: string
  paymentDate?: string
  paymentStatus: number
  paymentStatusName: string
  paymentMethod?: string
  receiptNumber?: string
  remark?: string
  createTime: string
  updateTime: string
}

export interface ShopFeeRecordVO {
  id: number
  shopId: number
  shopName: string
  feeType: string
  feeTypeName: string
  feeAmount: number
  feeDate: string
  dueDate: string
  paymentDate?: string
  paymentStatus: number
  paymentStatusName: string
  paymentMethod?: string
  receiptNumber?: string
  remark?: string
  createTime: string
  updateTime: string
}

export interface ShopFeeStandardVO {
  id: number
  shopId: number
  shopName: string
  feeType: string
  feeTypeName: string
  feeAmount: number
  startDate: string
  endDate?: string
  status: number
  statusName: string
  remark?: string
  createTime: string
  updateTime: string
}

export interface CommunityVO {
  id: number
  communityName: string
  communityCode: string
  address?: string
  status: number
  statusName: string
}

export interface BuildingVO {
  id: number
  buildingName: string
  buildingNo: string
  communityId: number
  communityName: string
  floorCount: number
  status: number
  statusName: string
}

export interface UnitVO {
  id: number
  unitName: string
  unitNo: string
  buildingId: number
  buildingName: string
  floorNumber: number
  status: number
  statusName: string
}

// 搜索表单类型
export interface ShopSearchForm {
  communityId?: number | null
  shopType?: number | null
  shopName?: string
  status?: number | null
}

// 分页信息类型
export interface PaginationInfo {
  current: number
  size: number
  total: number
}

// API响应类型
export interface ApiResponse<T> {
  code: number
  message: string
  data: T
  success: boolean
}

export interface PageResult<T> {
  records: T[]
  total: number
  current: number
  size: number
  pages: number
}

// 图片信息类型
export interface ImageInfo {
  id?: string | number
  fileUrl: string
  fileName?: string
  fileSize?: number
  fileType?: string
  fileExtension?: string
  uploadType?: string
  uploadSource?: string
  status?: string
  createTime?: string
  [key: string]: any
}
